#include<iostream>
#include<cstring>
#include<cstdlib>
#include<fstream>
using namespace std;
class Siruri {
private:
char *p;
int dimens;
public:
Siruri(char *sir);
Siruri(const Siruri &obiect);
Siruri(void);
~Siruri(void) {delete [] p;}
friend ostream &operator<<(ostream &flux, Siruri &obiect);
friend istream &operator>>(ostream &is, Siruri &obiect);
Siruri operator=(Siruri &obiect);
Siruri operator=(char *s);
Siruri operator+(Siruri &obiect);
Siruri operator+(char *s);
friend Siruri operator+(char *s, Siruri &obiect);
Siruri operator-(Siruri &obiect);
Siruri operator-(char *s);
bool operator==(Siruri &obiect) {return !strcmp(p,obiect.p);}
bool operator!=(Siruri &obiect) {return strcmp(p,obiect.p);}
bool operator<(Siruri &obiect) {return strcmp(p,obiect.p)<0;}
bool operator>(Siruri &obiect) {return strcmp(p,obiect.p)>0;}
bool operator<=(Siruri &obiect) {return strcmp(p,obiect.p)<=0;}
bool operator>=(Siruri &obiect) {return strcmp(p,obiect.p)>=0;}
bool operator==(char *s) {return !strcmp(p,s);}
bool operator!=(char *s) {return strcmp(p,s);}
bool operator<(char *s) {return strcmp(p,s)<0;}
bool operator>(char *s) {return strcmp(p,s)>0;}
bool operator<=(char *s) {return strcmp(p,s)<=0;}
bool operator>=(char *s) {return strcmp(p,s)>=0;}

int dimSir(void) {return strlen(p);}
};
class vectorCuvinte
{
    private:
    Siruri cuv[100];
    int l;
    public:
    vectorCuvinte(Siruri cuv[100],int l);
    int getL();
    Siruri getCuv(int i);
    void afiseaza();
};
